perm filename MFRAST.DIF[MF,DEK] blob sn#557222 filedate 1981-01-22 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00005 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	  1) MFRAST.SAI[MF,DEK] and 2) MFRAST.SAI[MF,DRF]	1-22-81 11:16	pages 1,1
C00006 00003	  1) MFRAST.SAI[MF,DEK] and 2) MFRAST.SAI[MF,DRF]	1-22-81 11:16	pages 4,4
C00009 00004	  1) MFRAST.SAI[MF,DEK] and 2) MFRAST.SAI[MF,DRF]	1-22-81 11:16	pages 4,4
C00015 00005	  1) MFRAST.SAI[MF,DEK] and 2) MFRAST.SAI[MF,DRF]	1-22-81 11:16	pages 11,11
C00016 ENDMK
C⊗;
  1) MFRAST.SAI[MF,DEK] and 2) MFRAST.SAI[MF,DRF]	1-22-81 11:16	pages 1,1

**** File 1) MFRAST.SAI[MF,DEK]/1P/7L
1)	C00052 00005	Beginning of the main procedure \\{drawit}
1)	C00060 00006	The routine that plots a cubic
1)	C00074 00007	procedure ccubics # compute the cubic splines
1)	C00082 00008	procedure filldraw(real pensize)
1)	C00086 00009	The \\{drawit} procedure begins here
1)	C00094 00010	the (temporary) routine for binary input
1)	C00096 00011	Now comes very system-dependent code for displaying on the user's screen
1)	C00102 ENDMK
1)	C⊗;
**** File 2) MFRAST.SAI[MF,DRF]/1P/7L
2)	C00054 00005	Beginning of the main procedure \\{drawit}
2)	C00062 00006	The routine that plots a cubic
2)	C00076 00007	procedure ccubics # compute the cubic splines
2)	C00084 00008	procedure filldraw(real pensize)
2)	C00088 00009	The \\{drawit} procedure begins here
2)	C00095 00010	the (temporary) routine for binary input
2)	C00097 00011	Now comes very system-dependent code for displaying on the user's screen
2)	C00103 ENDMK
2)	C⊗;
***************


**** File 1) MFRAST.SAI[MF,DEK]/4P/41L
1)	ifc TENEX thenc
1)	internal record_class rastrec(saf integer array r);
**** File 2) MFRAST.SAI[MF,DRF]/4P/41L
2)	IFWAITS
2)	internal saf integer array rast[rast0:rast1] # the big raster workspace;
2)	ENDWAITS
2)	IFTENEX
2)	internal record_class rastrec(saf integer array r);
***************


**** File 1) MFRAST.SAI[MF,DEK]/4P/45L
1)	elsec
1)	internal saf integer array rast[rast0:rast1] # the big raster workspace;
1)	endc
1)	internal integer xleft,xright,ylow,yhigh # active part of the raster;
**** File 2) MFRAST.SAI[MF,DRF]/4P/48L
2)	ENDTENEX
2)	IFTOPS20
2)	IFXMEM comment The raster will live in sections 2 and up.  Look at the last
2)		 page of this file for all the macros used to get to it;
2)	ELSEC
2)	internal saf integer array rast[rast0:rast1] # the big raster workspace;
2)	ENDC
  1) MFRAST.SAI[MF,DEK] and 2) MFRAST.SAI[MF,DRF]	1-22-81 11:16	pages 4,4

2)	ENDTOPS20
2)	internal integer xleft,xright,ylow,yhigh # active part of the raster;
***************


**** File 1) MFRAST.SAI[MF,DEK]/4P/53L
1)	for k←xleft thru xright do for l←ylow thru yhigh do rast[k*rspan+l]←0;
1)	xleft←ylow←infty; xright←yhigh←-infty;
**** File 2) MFRAST.SAI[MF,DRF]/4P/62L
2)	for k←xleft thru xright do
2)			begin integer loc; loc←k*rspan+ylow;
2)			rast!gets!expr(loc,0);
2)	IFXMEM		xbltit(rast!loc(loc+1),rast!loc(loc),yhigh-ylow);
2)	ELSEC		arrblt(rast[loc+1],rast[loc],yhigh-ylow);
2)	ENDC
2)			comment for l←ylow thru yhigh do 
2)				rast!gets!expr(k*rspan+l,0) # rast[k*rspan+l]←0;
2)			end;
2)	xleft←ylow←infty; xright←yhigh←-infty;
***************


**** File 1) MFRAST.SAI[MF,DEK]/4P/83L
1)			rast[xy]←rast[xy] land lnot (z lsh -xb);
1)			rast[xy+rspan]←rast[xy+rspan] land lnot (z lsh (bitsperwd-xb));
1)			xy←xy+1 end else begin rast[xy]←rast[xy] lor (z lsh -xb);
1)			rast[xy+rspan]←rast[xy+rspan] lor (z lsh (bitsperwd-xb));
1)			xy←xy+1 end⊃;
**** File 2) MFRAST.SAI[MF,DRF]/4P/100L
2)			rast!gets!rast!land!lnot!expr(xy,z lsh -xb)
2)			 # rast[xy]←rast[xy] land lnot (z lsh -xb);
2)			rast!gets!rast!land!lnot!expr(xy+rspan,z lsh (bitsperwd-xb))
2)			 # rast[xy+rspan]←rast[xy+rspan] land lnot (z lsh (bitsperwd-xb));
2)			xy←xy+1 end
2)			else begin
2)			rast!gets!rast!lor!expr(xy,z lsh -xb)
2)			 # rast[xy]←rast[xy] lor (z lsh -xb);
2)			rast!gets!rast!lor!expr(xy+rspan,z lsh (bitsperwd-xb))
2)			 # rast[xy+rspan]←rast[xy+rspan] lor (z lsh (bitsperwd-xb));
2)			xy←xy+1 end⊃;
***************


**** File 1) MFRAST.SAI[MF,DEK]/4P/134L
1)				begin rast[xlw]←rast[xlw] land
1)					(all_ones lsh (bitsperwd-xb));
**** File 2) MFRAST.SAI[MF,DRF]/4P/157L
2)				begin 
  1) MFRAST.SAI[MF,DEK] and 2) MFRAST.SAI[MF,DRF]	1-22-81 11:16	pages 4,4

2)				rast!gets!rast!land!expr
2)					(xlw,all_ones lsh (bitsperwd-xb))
2)				 # rast[xlw]←rast[xlw] land
2)					(all_ones lsh (bitsperwd-xb));
***************


**** File 1) MFRAST.SAI[MF,DEK]/4P/138L
1)			rast[xlw]←rast[xlw] land
1)				((all_ones lsh -(bitloc(xr)-xb+1))rot(-xb));
**** File 2) MFRAST.SAI[MF,DRF]/4P/164L
2)			rast!gets!rast!land!expr
2)				(xlw,(all_ones lsh -(bitloc(xr)-xb+1))rot(-xb))
2)			# rast[xlw]←rast[xlw] land
2)				((all_ones lsh -(bitloc(xr)-xb+1))rot(-xb));
***************


**** File 1) MFRAST.SAI[MF,DEK]/4P/142L
1)				begin rast[xlw]←rast[xlw] lor (all_ones lsh -xb);
1)				xlw←xlw+rspan; xb←0;
1)				end;
1)			rast[xlw]←rast[xlw] lor
1)				((all_ones lsh ((bitsperwd-1)-bitloc(xr)+xb)) lsh -xb);
1)			end;
**** File 2) MFRAST.SAI[MF,DRF]/4P/170L
2)				begin 
2)				rast!gets!rast!lor!expr(xlw,all_ones lsh -xb)
2)				# rast[xlw]←rast[xlw] lor (all_ones lsh -xb);
2)				xlw←xlw+rspan; xb←0;
2)				end;
2)			rast!gets!rast!lor!expr(xlw,
2)				(all_ones lsh ((bitsperwd-1)-bitloc(xr)+xb)) lsh -xb)
2)			# rast[xlw]←rast[xlw] lor
2)			    ((all_ones lsh ((bitsperwd-1)-bitloc(xr)+xb)) lsh -xb);
2)			end;
***************


**** File 1) MFRAST.SAI[MF,DEK]/4P/174L
1)			rast[xy]←rast[xy] land lnot (z lsh -xb);
1)			rast[xy+rspan]←rast[xy+rspan] land lnot (z lsh (bitsperwd-xb));
1)			xy←xy+1 end else begin rast[xy]←rast[xy] lor (z lsh -xb);
1)			rast[xy+rspan]←rast[xy+rspan] lor (z lsh (bitsperwd-xb));
1)			xy←xy+1 end⊃;
**** File 2) MFRAST.SAI[MF,DRF]/4P/206L
2)			rast!gets!rast!land!lnot!expr(xy,z lsh -xb)
2)			# rast[xy]←rast[xy] land lnot (z lsh -xb);
  1) MFRAST.SAI[MF,DEK] and 2) MFRAST.SAI[MF,DRF]	1-22-81 11:16	pages 4,4

2)			rast!gets!rast!land!lnot!expr(xy+rspan,z lsh (bitsperwd-xb))
2)			# rast[xy+rspan]←rast[xy+rspan] land lnot (z lsh (bitsperwd-xb));
2)			xy←xy+1 end
2)			else begin
2)			rast!gets!rast!lor!expr(xy,z lsh -xb)
2)			# rast[xy]←rast[xy] lor (z lsh -xb);
2)			rast!gets!rast!lor!expr(xy+rspan,z lsh (bitsperwd-xb))
2)			# rast[xy+rspan]←rast[xy+rspan] lor (z lsh (bitsperwd-xb));
2)			xy←xy+1 end⊃;
***************


**** File 1) MFRAST.SAI[MF,DEK]/10P/26L
1)			rast[xy]←rast[xy] lor (w lsh (-rbits));
1)			rast[xy+rspan]←rast[xy+rspan] lor (w lsh (bitsperwd-rbits));
1)			end;
**** File 2) MFRAST.SAI[MF,DRF]/10P/26L
2)			rast!gets!rast!lor!expr(xy,w lsh (-rbits))
2)			# rast[xy]←rast[xy] lor (w lsh (-rbits));
2)			rast!gets!rast!lor!expr(xy+rspan,w lsh (bitsperwd-rbits))
2)			# rast[xy+rspan]←rast[xy+rspan] lor (w lsh (bitsperwd-rbits));
2)			end;
***************


**** File 1) MFRAST.SAI[MF,DEK]/11P/60L
1)		get←point(4,rast[xw],-1);
1)		put←point(32,memory[memory[location(sline)+ddymax-y]+location(dbuf)],-1);
**** File 2) MFRAST.SAI[MF,DRF]/11P/60L
2)	IFXMEM	var!gets!rast(xtemp,xw); get←point(4,xtemp,-1);
2)	ELSEC	get←point(4,rast[xw],-1);
2)	ENDC
2)		put←point(32,memory[memory[location(sline)+ddymax-y]+location(dbuf)],-1);
***************


**** File 1) MFRAST.SAI[MF,DEK]/11P/70L
1)				begin xw←xw+rspan; get←point(4,rast[xw],-1);
1)				end;
**** File 2) MFRAST.SAI[MF,DRF]/11P/72L
2)				begin xw←xw+rspan; 
2)	IFXMEM			var!gets!rast(xtemp,xw); get←point(4,xtemp,-1);
2)	ELSEC			get←point(4,rast[xw],-1);
2)	ENDC
2)				end;
***************


  1) MFRAST.SAI[MF,DEK] and 2) MFRAST.SAI[MF,DRF]	1-22-81 11:16	pages 11,11

**** File 1) MFRAST.SAI[MF,DEK]/11P/79L
1)	ifc TENEX thenc
1)	require "adis.sai" source_file;
1)	elsec
1)	require nextline&"Error: ADIS only implemented under TENEX!"&nextline message;
1)	endc
1)	ENDADIS
1)	end
**** File 2) MFRAST.SAI[MF,DRF]/11P/84L
2)	IFTENEX
2)	require "adis.sai" source_file;
2)	ELSEC
2)	require nextline&"Error: ADIS only implemented under TENEX!"&nextline message;
2)	ENDC
2)	ENDADIS
2)	IFNOONLINE
2)	procedure initdd;; procedure cleardd;; internal procedure ddoutrast;;
2)	ENDNOONLINE
2)	end
***************